/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __AXNU_DRIVER_H__
#define __AXNU_DRIVER_H__

#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif /* __cplusplus */

#define IOC_TYPE_AXNU 'N'

typedef enum eiIOC_NR_AXNU_E {
	IOC_NR_AXNU_LOG             = 0x00,
	IOC_NR_AXNU_SET_FREQ        = 0x01,
	IOC_NR_AXNU_GET_FREQ        = 0x02,
	IOC_NR_AXNU_SET_NORMAL_FREQ = 0x03,
	IOC_NR_AXNU_GET_NORMAL_FREQ = 0x04,
	IOC_NR_AXNU_RUN             = 0x05,
	IOC_NR_AXNU_STATUS          = 0x06,
	IOC_NR_AXNU_WAIT_CONTINUE   = 0x07,
	IOC_NR_AXNU_QUERY_FINISH    = 0x08,
	IOC_NR_AXNU_GET_VER         = 0x09,
	IOC_NR_AXNU_SET_REG         = 0x0a,
	IOC_NR_AXNU_GET_REG         = 0x0b,
	IOC_NR_AXNU_SET_TIMEOUT     = 0x0c,
	IOC_NR_AXNU_GET_TIMEOUT     = 0x0d,
} IOC_AXNU_E;

#define AXNU_DEV_LOG             _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_LOG)
#define AXNU_DEV_SET_FREQ        _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_SET_FREQ)
#define AXNU_DEV_GET_FREQ        _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_GET_FREQ)
#define AXNU_DEV_SET_NORMAL_FREQ _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_SET_NORMAL_FREQ)
#define AXNU_DEV_GET_NORMAL_FREQ _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_GET_NORMAL_FREQ)
#define AXNU_DEV_RUN             _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_RUN)
#define AXNU_DEV_STATUS          _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_STATUS)
#define AXNU_DEV_WAIT_CONTINUE   _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_WAIT_CONTINUE)
#define AXNU_DEV_QUERY_FINISH    _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_QUERY_FINISH)
#define AXNU_DEV_GET_VER         _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_GET_VER)
#define AXNU_DEV_SET_REG         _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_SET_REG)
#define AXNU_DEV_GET_REG         _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_GET_REG)
#define AXNU_DEV_SET_TIMEOUT     _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_SET_TIMEOUT)
#define AXNU_DEV_GET_TIMEOUT     _IO(IOC_TYPE_AXNU, IOC_NR_AXNU_GET_TIMEOUT)

#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif /* __cplusplus */

#endif
